package com.navi.core.mysqlEntity;

import com.navi.core.entity.BaseEntity;

import javax.persistence.*;
import java.sql.Timestamp;

@Entity
@Table(name = "spc_ret_chart_data", schema = "spc_data", catalog = "spc_data")
@IdClass(SpcRetChartDataEntityPK.class)
public class SpcRetChartDataEntity extends BaseEntity {
    private String colTypFk;
    private String grpNoFk;
    private String chartNoFk;
    private String chartTypFk;
    private double inputTimeD;
    private String unqSeqId;
    private Timestamp inputTimestamp;
    private Timestamp inputTimestamp2;
    private Timestamp procTimestamp;
    private String subGrpNoFk;
    private String evtUsr;
    private String prdSeqIdFk;
    private String exdFlg;
    private Double chartValue;
    private Integer sampleSizeFk;
    private String chartSpecRltFk;
    private String chartRule1RltFk;
    private String chartRule2RltFk;
    private String oocOcapFk;
    private String oosOcapFk;
    private String chartTotalActionFk;
    private String chartDetailActionFk;
    private Double chartUslFk;
    private Double chartUclFk;
    private Double chartUwlFk;
    private Double chartMeanFk;
    private Double chartLwlFk;
    private Double chartLclFk;
    private Double chartLslFk;
    private String mdlIdFk;
    private String pToolIdFk;
    private String pRecipeIdFk;
    private String pPathIdFk;
    private String pOpeNoFk;
    private String pOpeIdFk;
    private String pProcId;
    private String mToolIdFk;
    private String mRecipeIdFk;
    private String chartCommentRsn;
    private String chartComment;
    private String chartCommentUsr;
    private Timestamp chartCommentTimestamp;
    private String woIdFk;
    private String soIdFk;
    private String cusIdFk;
    private String lotIdFk;
    private String lineIdFk;
    private String fabIdFk;
    private String shiftIdFk;
    private String boatNumber;

    @Id
    @Column(name = "COL_TYP_FK")
    public String getColTypFk() {
        return colTypFk;
    }

    public void setColTypFk(String colTypFk) {
        this.colTypFk = colTypFk;
    }

    @Id
    @Column(name = "GRP_NO_FK")
    public String getGrpNoFk() {
        return grpNoFk;
    }

    public void setGrpNoFk(String grpNoFk) {
        this.grpNoFk = grpNoFk;
    }

    @Id
    @Column(name = "CHART_NO_FK")
    public String getChartNoFk() {
        return chartNoFk;
    }

    public void setChartNoFk(String chartNoFk) {
        this.chartNoFk = chartNoFk;
    }

    @Id
    @Column(name = "CHART_TYP_FK")
    public String getChartTypFk() {
        return chartTypFk;
    }

    public void setChartTypFk(String chartTypFk) {
        this.chartTypFk = chartTypFk;
    }

    @Id
    @Column(name = "INPUT_TIME_D")
    public double getInputTimeD() {
        return inputTimeD;
    }

    public void setInputTimeD(double inputTimeD) {
        this.inputTimeD = inputTimeD;
    }

    @Basic
    @Column(name = "UNQ_SEQ_ID")
    public String getUnqSeqId() {
        return unqSeqId;
    }

    public void setUnqSeqId(String unqSeqId) {
        this.unqSeqId = unqSeqId;
    }

    @Id
    @Column(name = "INPUT_TIMESTAMP")
    public Timestamp getInputTimestamp() {
        return inputTimestamp;
    }

    public void setInputTimestamp(Timestamp inputTimestamp) {
        this.inputTimestamp = inputTimestamp;
    }

    @Basic
    @Column(name = "INPUT_TIMESTAMP_2")
    public Timestamp getInputTimestamp2() {
        return inputTimestamp2;
    }

    public void setInputTimestamp2(Timestamp inputTimestamp2) {
        this.inputTimestamp2 = inputTimestamp2;
    }

    @Basic
    @Column(name = "PROC_TIMESTAMP")
    public Timestamp getProcTimestamp() {
        return procTimestamp;
    }

    public void setProcTimestamp(Timestamp procTimestamp) {
        this.procTimestamp = procTimestamp;
    }

    @Basic
    @Column(name = "SUB_GRP_NO_FK")
    public String getSubGrpNoFk() {
        return subGrpNoFk;
    }

    public void setSubGrpNoFk(String subGrpNoFk) {
        this.subGrpNoFk = subGrpNoFk;
    }

    @Basic
    @Column(name = "EVT_USR")
    public String getEvtUsr() {
        return evtUsr;
    }

    public void setEvtUsr(String evtUsr) {
        this.evtUsr = evtUsr;
    }

    @Basic
    @Column(name = "PRD_SEQ_ID_FK")
    public String getPrdSeqIdFk() {
        return prdSeqIdFk;
    }

    public void setPrdSeqIdFk(String prdSeqIdFk) {
        this.prdSeqIdFk = prdSeqIdFk;
    }

    @Basic
    @Column(name = "EXD_FLG")
    public String getExdFlg() {
        return exdFlg;
    }

    public void setExdFlg(String exdFlg) {
        this.exdFlg = exdFlg;
    }

    @Basic
    @Column(name = "CHART_VALUE")
    public Double getChartValue() {
        return chartValue;
    }

    public void setChartValue(Double chartValue) {
        this.chartValue = chartValue;
    }

    @Basic
    @Column(name = "SAMPLE_SIZE_FK")
    public Integer getSampleSizeFk() {
        return sampleSizeFk;
    }

    public void setSampleSizeFk(Integer sampleSizeFk) {
        this.sampleSizeFk = sampleSizeFk;
    }

    @Basic
    @Column(name = "CHART_SPEC_RLT_FK")
    public String getChartSpecRltFk() {
        return chartSpecRltFk;
    }

    public void setChartSpecRltFk(String chartSpecRltFk) {
        this.chartSpecRltFk = chartSpecRltFk;
    }

    @Basic
    @Column(name = "CHART_RULE1_RLT_FK")
    public String getChartRule1RltFk() {
        return chartRule1RltFk;
    }

    public void setChartRule1RltFk(String chartRule1RltFk) {
        this.chartRule1RltFk = chartRule1RltFk;
    }

    @Basic
    @Column(name = "CHART_RULE2_RLT_FK")
    public String getChartRule2RltFk() {
        return chartRule2RltFk;
    }

    public void setChartRule2RltFk(String chartRule2RltFk) {
        this.chartRule2RltFk = chartRule2RltFk;
    }

    @Basic
    @Column(name = "OOC_OCAP_FK")
    public String getOocOcapFk() {
        return oocOcapFk;
    }

    public void setOocOcapFk(String oocOcapFk) {
        this.oocOcapFk = oocOcapFk;
    }

    @Basic
    @Column(name = "OOS_OCAP_FK")
    public String getOosOcapFk() {
        return oosOcapFk;
    }

    public void setOosOcapFk(String oosOcapFk) {
        this.oosOcapFk = oosOcapFk;
    }

    @Basic
    @Column(name = "CHART_TOTAL_ACTION_FK")
    public String getChartTotalActionFk() {
        return chartTotalActionFk;
    }

    public void setChartTotalActionFk(String chartTotalActionFk) {
        this.chartTotalActionFk = chartTotalActionFk;
    }

    @Basic
    @Column(name = "CHART_DETAIL_ACTION_FK")
    public String getChartDetailActionFk() {
        return chartDetailActionFk;
    }

    public void setChartDetailActionFk(String chartDetailActionFk) {
        this.chartDetailActionFk = chartDetailActionFk;
    }

    @Basic
    @Column(name = "CHART_USL_FK")
    public Double getChartUslFk() {
        return chartUslFk;
    }

    public void setChartUslFk(Double chartUslFk) {
        this.chartUslFk = chartUslFk;
    }

    @Basic
    @Column(name = "CHART_UCL_FK")
    public Double getChartUclFk() {
        return chartUclFk;
    }

    public void setChartUclFk(Double chartUclFk) {
        this.chartUclFk = chartUclFk;
    }

    @Basic
    @Column(name = "CHART_UWL_FK")
    public Double getChartUwlFk() {
        return chartUwlFk;
    }

    public void setChartUwlFk(Double chartUwlFk) {
        this.chartUwlFk = chartUwlFk;
    }

    @Basic
    @Column(name = "CHART_MEAN_FK")
    public Double getChartMeanFk() {
        return chartMeanFk;
    }

    public void setChartMeanFk(Double chartMeanFk) {
        this.chartMeanFk = chartMeanFk;
    }

    @Basic
    @Column(name = "CHART_LWL_FK")
    public Double getChartLwlFk() {
        return chartLwlFk;
    }

    public void setChartLwlFk(Double chartLwlFk) {
        this.chartLwlFk = chartLwlFk;
    }

    @Basic
    @Column(name = "CHART_LCL_FK")
    public Double getChartLclFk() {
        return chartLclFk;
    }

    public void setChartLclFk(Double chartLclFk) {
        this.chartLclFk = chartLclFk;
    }

    @Basic
    @Column(name = "CHART_LSL_FK")
    public Double getChartLslFk() {
        return chartLslFk;
    }

    public void setChartLslFk(Double chartLslFk) {
        this.chartLslFk = chartLslFk;
    }

    @Basic
    @Column(name = "MDL_ID_FK")
    public String getMdlIdFk() {
        return mdlIdFk;
    }

    public void setMdlIdFk(String mdlIdFk) {
        this.mdlIdFk = mdlIdFk;
    }

    @Basic
    @Column(name = "P_TOOL_ID_FK")
    public String getpToolIdFk() {
        return pToolIdFk;
    }

    public void setpToolIdFk(String pToolIdFk) {
        this.pToolIdFk = pToolIdFk;
    }

    @Basic
    @Column(name = "P_RECIPE_ID_FK")
    public String getpRecipeIdFk() {
        return pRecipeIdFk;
    }

    public void setpRecipeIdFk(String pRecipeIdFk) {
        this.pRecipeIdFk = pRecipeIdFk;
    }

    @Basic
    @Column(name = "P_PATH_ID_FK")
    public String getpPathIdFk() {
        return pPathIdFk;
    }

    public void setpPathIdFk(String pPathIdFk) {
        this.pPathIdFk = pPathIdFk;
    }

    @Basic
    @Column(name = "P_OPE_NO_FK")
    public String getpOpeNoFk() {
        return pOpeNoFk;
    }

    public void setpOpeNoFk(String pOpeNoFk) {
        this.pOpeNoFk = pOpeNoFk;
    }

    @Basic
    @Column(name = "P_OPE_ID_FK")
    public String getpOpeIdFk() {
        return pOpeIdFk;
    }

    public void setpOpeIdFk(String pOpeIdFk) {
        this.pOpeIdFk = pOpeIdFk;
    }

    @Basic
    @Column(name = "P_PROC_ID")
    public String getpProcId() {
        return pProcId;
    }

    public void setpProcId(String pProcId) {
        this.pProcId = pProcId;
    }

    @Basic
    @Column(name = "M_TOOL_ID_FK")
    public String getmToolIdFk() {
        return mToolIdFk;
    }

    public void setmToolIdFk(String mToolIdFk) {
        this.mToolIdFk = mToolIdFk;
    }

    @Basic
    @Column(name = "M_RECIPE_ID_FK")
    public String getmRecipeIdFk() {
        return mRecipeIdFk;
    }

    public void setmRecipeIdFk(String mRecipeIdFk) {
        this.mRecipeIdFk = mRecipeIdFk;
    }

    @Basic
    @Column(name = "CHART_COMMENT_RSN")
    public String getChartCommentRsn() {
        return chartCommentRsn;
    }

    public void setChartCommentRsn(String chartCommentRsn) {
        this.chartCommentRsn = chartCommentRsn;
    }

    @Basic
    @Column(name = "CHART_COMMENT")
    public String getChartComment() {
        return chartComment;
    }

    public void setChartComment(String chartComment) {
        this.chartComment = chartComment;
    }

    @Basic
    @Column(name = "CHART_COMMENT_USR")
    public String getChartCommentUsr() {
        return chartCommentUsr;
    }

    public void setChartCommentUsr(String chartCommentUsr) {
        this.chartCommentUsr = chartCommentUsr;
    }

    @Basic
    @Column(name = "CHART_COMMENT_TIMESTAMP")
    public Timestamp getChartCommentTimestamp() {
        return chartCommentTimestamp;
    }

    public void setChartCommentTimestamp(Timestamp chartCommentTimestamp) {
        this.chartCommentTimestamp = chartCommentTimestamp;
    }

    @Basic
    @Column(name = "WO_ID_FK")
    public String getWoIdFk() {
        return woIdFk;
    }

    public void setWoIdFk(String woIdFk) {
        this.woIdFk = woIdFk;
    }

    @Basic
    @Column(name = "SO_ID_FK")
    public String getSoIdFk() {
        return soIdFk;
    }

    public void setSoIdFk(String soIdFk) {
        this.soIdFk = soIdFk;
    }

    @Basic
    @Column(name = "CUS_ID_FK")
    public String getCusIdFk() {
        return cusIdFk;
    }

    public void setCusIdFk(String cusIdFk) {
        this.cusIdFk = cusIdFk;
    }

    @Basic
    @Column(name = "LOT_ID_FK")
    public String getLotIdFk() {
        return lotIdFk;
    }

    public void setLotIdFk(String lotIdFk) {
        this.lotIdFk = lotIdFk;
    }

    @Basic
    @Column(name = "LINE_ID_FK")
    public String getLineIdFk() {
        return lineIdFk;
    }

    public void setLineIdFk(String lineIdFk) {
        this.lineIdFk = lineIdFk;
    }

    @Basic
    @Column(name = "FAB_ID_FK")
    public String getFabIdFk() {
        return fabIdFk;
    }

    public void setFabIdFk(String fabIdFk) {
        this.fabIdFk = fabIdFk;
    }

    @Basic
    @Column(name = "SHIFT_ID_FK")
    public String getShiftIdFk() {
        return shiftIdFk;
    }

    public void setShiftIdFk(String shiftIdFk) {
        this.shiftIdFk = shiftIdFk;
    }

    @Basic
    @Column(name = "BOAT_NUMBER")
    public String getBoatNumber() {
        return boatNumber;
    }

    public void setBoatNumber(String boatNumber) {
        this.boatNumber = boatNumber;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        SpcRetChartDataEntity that = (SpcRetChartDataEntity) o;

        if (Double.compare(that.inputTimeD, inputTimeD) != 0) return false;
        if (colTypFk != null ? !colTypFk.equals(that.colTypFk) : that.colTypFk != null) return false;
        if (grpNoFk != null ? !grpNoFk.equals(that.grpNoFk) : that.grpNoFk != null) return false;
        if (chartNoFk != null ? !chartNoFk.equals(that.chartNoFk) : that.chartNoFk != null) return false;
        if (chartTypFk != null ? !chartTypFk.equals(that.chartTypFk) : that.chartTypFk != null) return false;
        if (unqSeqId != null ? !unqSeqId.equals(that.unqSeqId) : that.unqSeqId != null) return false;
        if (inputTimestamp != null ? !inputTimestamp.equals(that.inputTimestamp) : that.inputTimestamp != null)
            return false;
        if (inputTimestamp2 != null ? !inputTimestamp2.equals(that.inputTimestamp2) : that.inputTimestamp2 != null)
            return false;
        if (procTimestamp != null ? !procTimestamp.equals(that.procTimestamp) : that.procTimestamp != null)
            return false;
        if (subGrpNoFk != null ? !subGrpNoFk.equals(that.subGrpNoFk) : that.subGrpNoFk != null) return false;
        if (evtUsr != null ? !evtUsr.equals(that.evtUsr) : that.evtUsr != null) return false;
        if (prdSeqIdFk != null ? !prdSeqIdFk.equals(that.prdSeqIdFk) : that.prdSeqIdFk != null) return false;
        if (exdFlg != null ? !exdFlg.equals(that.exdFlg) : that.exdFlg != null) return false;
        if (chartValue != null ? !chartValue.equals(that.chartValue) : that.chartValue != null) return false;
        if (sampleSizeFk != null ? !sampleSizeFk.equals(that.sampleSizeFk) : that.sampleSizeFk != null) return false;
        if (chartSpecRltFk != null ? !chartSpecRltFk.equals(that.chartSpecRltFk) : that.chartSpecRltFk != null)
            return false;
        if (chartRule1RltFk != null ? !chartRule1RltFk.equals(that.chartRule1RltFk) : that.chartRule1RltFk != null)
            return false;
        if (chartRule2RltFk != null ? !chartRule2RltFk.equals(that.chartRule2RltFk) : that.chartRule2RltFk != null)
            return false;
        if (oocOcapFk != null ? !oocOcapFk.equals(that.oocOcapFk) : that.oocOcapFk != null) return false;
        if (oosOcapFk != null ? !oosOcapFk.equals(that.oosOcapFk) : that.oosOcapFk != null) return false;
        if (chartTotalActionFk != null ? !chartTotalActionFk.equals(that.chartTotalActionFk) : that.chartTotalActionFk != null)
            return false;
        if (chartDetailActionFk != null ? !chartDetailActionFk.equals(that.chartDetailActionFk) : that.chartDetailActionFk != null)
            return false;
        if (chartUslFk != null ? !chartUslFk.equals(that.chartUslFk) : that.chartUslFk != null) return false;
        if (chartUclFk != null ? !chartUclFk.equals(that.chartUclFk) : that.chartUclFk != null) return false;
        if (chartUwlFk != null ? !chartUwlFk.equals(that.chartUwlFk) : that.chartUwlFk != null) return false;
        if (chartMeanFk != null ? !chartMeanFk.equals(that.chartMeanFk) : that.chartMeanFk != null) return false;
        if (chartLwlFk != null ? !chartLwlFk.equals(that.chartLwlFk) : that.chartLwlFk != null) return false;
        if (chartLclFk != null ? !chartLclFk.equals(that.chartLclFk) : that.chartLclFk != null) return false;
        if (chartLslFk != null ? !chartLslFk.equals(that.chartLslFk) : that.chartLslFk != null) return false;
        if (mdlIdFk != null ? !mdlIdFk.equals(that.mdlIdFk) : that.mdlIdFk != null) return false;
        if (pToolIdFk != null ? !pToolIdFk.equals(that.pToolIdFk) : that.pToolIdFk != null) return false;
        if (pRecipeIdFk != null ? !pRecipeIdFk.equals(that.pRecipeIdFk) : that.pRecipeIdFk != null) return false;
        if (pPathIdFk != null ? !pPathIdFk.equals(that.pPathIdFk) : that.pPathIdFk != null) return false;
        if (pOpeNoFk != null ? !pOpeNoFk.equals(that.pOpeNoFk) : that.pOpeNoFk != null) return false;
        if (pOpeIdFk != null ? !pOpeIdFk.equals(that.pOpeIdFk) : that.pOpeIdFk != null) return false;
        if (pProcId != null ? !pProcId.equals(that.pProcId) : that.pProcId != null) return false;
        if (mToolIdFk != null ? !mToolIdFk.equals(that.mToolIdFk) : that.mToolIdFk != null) return false;
        if (mRecipeIdFk != null ? !mRecipeIdFk.equals(that.mRecipeIdFk) : that.mRecipeIdFk != null) return false;
        if (chartCommentRsn != null ? !chartCommentRsn.equals(that.chartCommentRsn) : that.chartCommentRsn != null)
            return false;
        if (chartComment != null ? !chartComment.equals(that.chartComment) : that.chartComment != null) return false;
        if (chartCommentUsr != null ? !chartCommentUsr.equals(that.chartCommentUsr) : that.chartCommentUsr != null)
            return false;
        if (chartCommentTimestamp != null ? !chartCommentTimestamp.equals(that.chartCommentTimestamp) : that.chartCommentTimestamp != null)
            return false;
        if (woIdFk != null ? !woIdFk.equals(that.woIdFk) : that.woIdFk != null) return false;
        if (soIdFk != null ? !soIdFk.equals(that.soIdFk) : that.soIdFk != null) return false;
        if (cusIdFk != null ? !cusIdFk.equals(that.cusIdFk) : that.cusIdFk != null) return false;
        if (lotIdFk != null ? !lotIdFk.equals(that.lotIdFk) : that.lotIdFk != null) return false;
        if (lineIdFk != null ? !lineIdFk.equals(that.lineIdFk) : that.lineIdFk != null) return false;
        if (fabIdFk != null ? !fabIdFk.equals(that.fabIdFk) : that.fabIdFk != null) return false;
        if (shiftIdFk != null ? !shiftIdFk.equals(that.shiftIdFk) : that.shiftIdFk != null) return false;
        if (boatNumber != null ? !boatNumber.equals(that.boatNumber) : that.boatNumber != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result;
        long temp;
        result = colTypFk != null ? colTypFk.hashCode() : 0;
        result = 31 * result + (grpNoFk != null ? grpNoFk.hashCode() : 0);
        result = 31 * result + (chartNoFk != null ? chartNoFk.hashCode() : 0);
        result = 31 * result + (chartTypFk != null ? chartTypFk.hashCode() : 0);
        temp = Double.doubleToLongBits(inputTimeD);
        result = 31 * result + (int) (temp ^ (temp >>> 32));
        result = 31 * result + (unqSeqId != null ? unqSeqId.hashCode() : 0);
        result = 31 * result + (inputTimestamp != null ? inputTimestamp.hashCode() : 0);
        result = 31 * result + (inputTimestamp2 != null ? inputTimestamp2.hashCode() : 0);
        result = 31 * result + (procTimestamp != null ? procTimestamp.hashCode() : 0);
        result = 31 * result + (subGrpNoFk != null ? subGrpNoFk.hashCode() : 0);
        result = 31 * result + (evtUsr != null ? evtUsr.hashCode() : 0);
        result = 31 * result + (prdSeqIdFk != null ? prdSeqIdFk.hashCode() : 0);
        result = 31 * result + (exdFlg != null ? exdFlg.hashCode() : 0);
        result = 31 * result + (chartValue != null ? chartValue.hashCode() : 0);
        result = 31 * result + (sampleSizeFk != null ? sampleSizeFk.hashCode() : 0);
        result = 31 * result + (chartSpecRltFk != null ? chartSpecRltFk.hashCode() : 0);
        result = 31 * result + (chartRule1RltFk != null ? chartRule1RltFk.hashCode() : 0);
        result = 31 * result + (chartRule2RltFk != null ? chartRule2RltFk.hashCode() : 0);
        result = 31 * result + (oocOcapFk != null ? oocOcapFk.hashCode() : 0);
        result = 31 * result + (oosOcapFk != null ? oosOcapFk.hashCode() : 0);
        result = 31 * result + (chartTotalActionFk != null ? chartTotalActionFk.hashCode() : 0);
        result = 31 * result + (chartDetailActionFk != null ? chartDetailActionFk.hashCode() : 0);
        result = 31 * result + (chartUslFk != null ? chartUslFk.hashCode() : 0);
        result = 31 * result + (chartUclFk != null ? chartUclFk.hashCode() : 0);
        result = 31 * result + (chartUwlFk != null ? chartUwlFk.hashCode() : 0);
        result = 31 * result + (chartMeanFk != null ? chartMeanFk.hashCode() : 0);
        result = 31 * result + (chartLwlFk != null ? chartLwlFk.hashCode() : 0);
        result = 31 * result + (chartLclFk != null ? chartLclFk.hashCode() : 0);
        result = 31 * result + (chartLslFk != null ? chartLslFk.hashCode() : 0);
        result = 31 * result + (mdlIdFk != null ? mdlIdFk.hashCode() : 0);
        result = 31 * result + (pToolIdFk != null ? pToolIdFk.hashCode() : 0);
        result = 31 * result + (pRecipeIdFk != null ? pRecipeIdFk.hashCode() : 0);
        result = 31 * result + (pPathIdFk != null ? pPathIdFk.hashCode() : 0);
        result = 31 * result + (pOpeNoFk != null ? pOpeNoFk.hashCode() : 0);
        result = 31 * result + (pOpeIdFk != null ? pOpeIdFk.hashCode() : 0);
        result = 31 * result + (pProcId != null ? pProcId.hashCode() : 0);
        result = 31 * result + (mToolIdFk != null ? mToolIdFk.hashCode() : 0);
        result = 31 * result + (mRecipeIdFk != null ? mRecipeIdFk.hashCode() : 0);
        result = 31 * result + (chartCommentRsn != null ? chartCommentRsn.hashCode() : 0);
        result = 31 * result + (chartComment != null ? chartComment.hashCode() : 0);
        result = 31 * result + (chartCommentUsr != null ? chartCommentUsr.hashCode() : 0);
        result = 31 * result + (chartCommentTimestamp != null ? chartCommentTimestamp.hashCode() : 0);
        result = 31 * result + (woIdFk != null ? woIdFk.hashCode() : 0);
        result = 31 * result + (soIdFk != null ? soIdFk.hashCode() : 0);
        result = 31 * result + (cusIdFk != null ? cusIdFk.hashCode() : 0);
        result = 31 * result + (lotIdFk != null ? lotIdFk.hashCode() : 0);
        result = 31 * result + (lineIdFk != null ? lineIdFk.hashCode() : 0);
        result = 31 * result + (fabIdFk != null ? fabIdFk.hashCode() : 0);
        result = 31 * result + (shiftIdFk != null ? shiftIdFk.hashCode() : 0);
        result = 31 * result + (boatNumber != null ? boatNumber.hashCode() : 0);
        return result;
    }
}
